package com.nari.ies.ne.nw.server.activator;

import com.nari.ies.ne.nw.server.service.fileScore.IPlantScoreService;
import com.nari.ies.ne.nw.server.util.DateUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.util.Date;

@Component
@Slf4j
public class FileScoreByMonthActivator {

    @Autowired
    private IPlantScoreService plantScoreService;
    @Scheduled(cron = "0 40 1 * * ?")
    //@Scheduled(cron = "0 0/25 * * * ?")
    public void TaskFileScore() {
        log.info("-----文件算分开始-----" + new Date());

        Date dateTime = DateUtil.getToday();
        //Date dateTime = new Date("2023/09/06");

        // 获取当月第一天
        Boolean firstDayOfMonth = DateUtil.isFirstDayOfMonth(dateTime);
        Date startTime = null;
        Date endTime = null;
        int days = 0;
        // 判断今天是否是本月第一天
        if(firstDayOfMonth == true) {
            // 查上月所有的数据
            // 开始时间 上个月1号0点
            startTime = DateUtil.getFirstDateOfLastMonth(dateTime);
            // 结束时间 当天时间0点
            endTime = DateUtil.getTodayTime(dateTime);
            // 查询统计表中
            days = DateUtil.getDaysByStartAndEnd(startTime, endTime);
        } else {
            // 开始时间 本月1号0点
            startTime = DateUtil.getFirstDateOfMonth(dateTime);
            // 结束时间 当天时间0点
            endTime = DateUtil.getTodayTime(dateTime);
            // 查询统计表中
            days = DateUtil.getDaysByStartAndEnd(startTime, endTime);
        }
        int staticType=3;

        //根据时间计算场站平均分并插入对应场站信息
        plantScoreService.getPlantAVGScore(startTime,endTime,staticType);

        //根据时间计算场站平均分并插入对应市级信息
        plantScoreService.getAreaAVGScore(startTime,endTime,staticType);

        //根据时间计算场站平均分并插入对应阳江信息
        plantScoreService.getYJAVGScore(startTime,endTime,staticType);
    }

}
